The present invention relates to the field of computer server configuration and maintenance, and more particularly to software used to validate the deployment code used to configure a computer server.
Server provisioning is a set of actions to prepare a server with appropriate systems, data, and software, and make it ready for network operation. Typical tasks when provisioning a server include: selecting a server from a pool of available servers, loading the appropriate software (e.g., operating system (OS), device drivers, middleware, and applications), appropriately customize and configure the system and the software to create or change a boot image for this server, and then change its parameters (e.g., internet protocol (IP) address, passwords, user accounts, etc). Since manual server provisioning can introduce errors and inconsistencies, software can be used to automate this process.
However, automated deployments of multi-tiered applications lack a comprehensive ability to: determine if a deployment succeeded, determine whether deployment is working correctly during steady state, or accurately diagnose which attributes or configurations are responsible for the failures of deployment or failure during steady-state operation. As a result, the system administrator of a cloud has to spend a lot of effort on verifying whether deployment succeeded by writing custom verification code. However, the verification code may not cover all the configurations that are deployed.